/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.zx.barbecue.signup.entity;

import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 考试报名表Entity
 * @author zpp
 * @version 2020-01-19
 */
@Table(name="t_barbecue_signup", alias="a", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="user_id", attrName="userId", label="用户标识"),
		@Column(name="barbecue_id", attrName="barbecueId", label="考试id"),
		@Column(name="id_card", attrName="idCard", label="省份证号"),
		@Column(name="username", attrName="username", label="考生姓名"),
		@Column(name="mobile", attrName="mobile", label="手机号"),
		@Column(name="user_photo", attrName="userPhoto", label="考生照片"),
		@Column(name="barbecue_title",attrName="barbecueTitle",label="考试主题",queryType=QueryType.LIKE),
		@Column(includeEntity=DataEntity.class),
		@Column(name="state", attrName="state", label="数据审核"),
		@Column(name="barbecue_time", attrName="barbecueTime", label="考试时间"),
		@Column(name="barbecue_edtime", attrName="barbecueEdtime", label="考试结束时间"),
		@Column(name="score", attrName="score", label="考试得分"),
		@Column(name="sex", attrName="sex", label="性别"),
		@Column(name="office_name", attrName="officeName", label="机构名称"),
		@Column(name="head_office", attrName="headOffice", label="机构编码"),
		@Column(name="post_name", attrName="postName", label="岗位名称"),
		@Column(name="train", attrName="train", label="培训类型"),
		@Column(name="region", attrName="region", label="区域"),	
	}, orderBy="a.update_date DESC"
)
public class TbarbecueSignup extends DataEntity<TbarbecueSignup> {
	
	private static final long serialVersionUID = 1L;
	private String barbecueId;		// 考试id
	private String barbecueTitle;   //考试主题
	private String idCard;		// 省份证号
	private String username;		// 考生姓名
	private String mobile;		// 手机号
	private String userPhoto;		// 考生照片
	private Date createUpdate;		// create_update
	private Integer state;//数据审核
	private BigDecimal score;
	private Date barbecueTime;
	private Date barbecueEdtime;
	private String sex,officeName,headOffice,postName,train,region,userId;
	
    
	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getOfficeName() {
		return officeName;
	}

	public void setOfficeName(String officeName) {
		this.officeName = officeName;
	}

	public String getHeadOffice() {
		return headOffice;
	}

	public void setHeadOffice(String headOffice) {
		this.headOffice = headOffice;
	}

	public String getPostName() {
		return postName;
	}

	public void setPostName(String postName) {
		this.postName = postName;
	}

	public String getTrain() {
		return train;
	}

	public void setTrain(String train) {
		this.train = train;
	}

	public String getRegion() {
		return region;
	}

	public void setRegion(String region) {
		this.region = region;
	}

	public Date getBarbecueEdtime() {
		return barbecueEdtime;
	}

	public void setBarbecueEdtime(Date barbecueEdtime) {
		this.barbecueEdtime = barbecueEdtime;
	}

	public BigDecimal getScore() {
		return score;
	}

	public void setScore(BigDecimal score) {
		this.score = score;
	}
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBarbecueTime() {
		return barbecueTime;
	}

	public void setBarbecueTime(Date barbecueTime) {
		this.barbecueTime = barbecueTime;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public String getBarbecueTitle() {
		return barbecueTitle;
	}

	public void setBarbecueTitle(String barbecueTitle) {
		this.barbecueTitle = barbecueTitle;
	}

	public TbarbecueSignup() {
		this(null);
	}

	public TbarbecueSignup(String id){
		super(id);
	}
	
	@Length(min=0, max=50, message="考试id长度不能超过 50 个字符")
	public String getBarbecueId() {
		return barbecueId;
	}

	public void setBarbecueId(String barbecueId) {
		this.barbecueId = barbecueId;
	}
	
	@Length(min=0, max=30, message="省份证号长度不能超过 30 个字符")
	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}
	
	@Length(min=0, max=50, message="考生姓名长度不能超过 50 个字符")
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	
	@Length(min=0, max=30, message="手机号长度不能超过 30 个字符")
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	
	@Length(min=0, max=300, message="考生照片长度不能超过 300 个字符")
	public String getUserPhoto() {
		return userPhoto;
	}

	public void setUserPhoto(String userPhoto) {
		this.userPhoto = userPhoto;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCreateUpdate() {
		return createUpdate;
	}

	public void setCreateUpdate(Date createUpdate) {
		this.createUpdate = createUpdate;
	}
	
}